package com.chezhujie.www.service;

import com.chezhujie.www.domain.Czjbranch;
import com.chezhujie.www.domain.Czjroulette;
import com.chezhujie.www.domain.vo.CzjrouletteVONum;
import com.chezhujie.www.persistence.CzjrouletteMapper;
import com.sys.core.page.Pagination;
import com.sys.core.utils.UUIDUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Service("CzjrouletteService")
public class CzjrouletteService {
	@Autowired
	private CzjrouletteMapper czjrouletteMapper;

	/**
	 * 查询某个czj_roulette  线上轮盘
	 * @param param
	 * @return
	 */
	public Czjroulette getCzjroulette(Map<String,Object> param) {
		return czjrouletteMapper.getCzjroulette(param);
	}
	
	/**
	 * 查询某个czj_roulette  线上轮盘
	 * @param param
	 * @return
	 */
	public Czjroulette getCzjrouletteByAct(Map<String,Object> param) {
		return czjrouletteMapper.getCzjrouletteByAct(param);
	}
	
	/**
	 * 查询某个czj_roulette  线上轮盘
	 * @param param
	 * @return
	 */
	public List<String> getCzjrouletteALL(Map<String,Object> param) {
		return czjrouletteMapper.getCzjrouletteALL(param);
	}	
   
	/**
	 * 查询某个czj_roulette  线上轮盘queryImgOrder
	 * @param param
	 * @return
	 */
	public Czjroulette queryImgOrder(Map<String,Object> param) {
		return czjrouletteMapper.queryImgOrder(param);
	}	
	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public Map<String,Object> getCzjrouletteList(Map<String,Object> param) {
		Map<String,Object> returnMap = new HashMap<String,Object>();
		returnMap.put("totalCounts", czjrouletteMapper.getTotalRows(param));
		returnMap.put("list", czjrouletteMapper.getCzjrouletteList(param));
		return returnMap;
	}
   
	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public  List<Czjroulette> getCzjrouletteListALL(Map<String,Object> param) {
		List<Czjroulette> list=	czjrouletteMapper.getCzjrouletteListALL(param);
		return list;
		
	}	
	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public  List<CzjrouletteVONum> getCzjrouletteListALLVONum(Map<String,Object> param) {
		List<CzjrouletteVONum> list=	czjrouletteMapper.getCzjrouletteListALLVONum(param);
		return list;
		
	}	
	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public  List<Czjbranch> getCzjrouletteListALLByAwardstockId(Map<String,Object> param) {
		List<Czjbranch> list=	czjrouletteMapper.getCzjrouletteListALLByAwardstockId(param);
		return list;
		
	}	
	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public  Czjbranch getCzjrouletteByAwardstockId(Map<String,Object> param) {
		return 	czjrouletteMapper.getCzjrouletteByAwardstockId(param);
		
	}		

	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public Pagination getCzjrouletteList(Map<String,Object> param, int pageSize, Integer pageNo, String order, String sort) {
		Pagination p = new Pagination();
		p.setPageNo(pageNo);
		p.setPageSize(pageSize);
		p.setOrder(order);
		p.setSort(sort);
		param.putAll(p.toMap());
		int count=czjrouletteMapper.getTotalRows(param);
		List<Czjroulette> list=	czjrouletteMapper.getCzjrouletteList(param);
	
		p.setList(list);
		p.setTotalCount(count);
		return p;
		
	}
	
	/**
	 * 查询czj_roulette  线上轮盘列表
	 * @return
	 */
	public  List<Czjroulette> getCzjrouletteListALL1(Map<String,Object> param) {

		List<Czjroulette> list=	czjrouletteMapper.getCzjrouletteListALL1(param);	
		return list;
		
	}	
      
	/**
	 * 新增czj_roulette  线上轮盘
	 * @param czjroulette
	 * @param param
	 */
	@Transactional
	public void insertCzjroulette(Czjroulette czjroulette) {	
			czjroulette.setRouletteId(UUIDUtils.getUUID());
		czjrouletteMapper.insertCzjroulette(czjroulette);
	}
   
	/**
	 * 编辑czj_roulette  线上轮盘
	 * @param czjroulette
	 * @param param
	 */
	@Transactional
	public void updateCzjroulette(Czjroulette czjroulette) {
		czjrouletteMapper.updateCzjroulette(czjroulette);
	}
   
	/**
	 * 删除czj_roulette  线上轮盘
	 * @param param
	 */    
	@Transactional
	public void deleteCzjroulette(List<String> rouletteIdList) {
		for(String rouletteId: rouletteIdList){
	  		Map<String,Object> param = new HashMap<String,Object>();
	  		param.put("rouletteId", rouletteId);
	 	   czjrouletteMapper.deleteCzjroulette(param);	  		
		}
	}


}